.\" This manpage has been automatically generated by docbook2man 
.\" from a DocBook document.  This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> 
.\" Please send any bug reports, improvements, comments, patches, 
.\" etc. to Steve Cheng <steve@ggi-project.org>.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2, or (at your option)
.\" any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
.\" USA.
.\"
.\" Japanese Version Copyright (C) 2003 System Design and Research
.\" Institute Co.,Ltd. All rights reserved.
.\"
.\" Translated 14 March 2003 by
.\"   System Design and Research Institute Co.,Ltd. <info@sdri.co.jp>
.\"
.\"WORD: verify		検査
.\"WORD: upgrade	アップグレード
.\"WORD: freshen	更新
.\"WORD: resign		再署名
.\"WORD: querytag	検索タグ
.\"WORD: relocation	再配置
.\"WORD: format string	書式文字列
.\"WORD: identifier	識別子
.\"WORD: glob expression	パス名展開式
.\"WORD: capability	能力
.\"WORD: key ring	鍵リング
.\"WORD: firewall	ファイアウォール
.\"subsubsction start
.de SSS
.SS "    \\$1"
.RS 0.5i
..
.TH "RPM" "8" "09 June 2002" "Red Hat, Inc."
.SH 名前
rpm \- RPM パッケージマネージャ
.SH 書式
.SS パッケージの検索と検査:
.BR rpm " {" \-q|\-\-query "} [" select-options "] [" query-options ]

.BR rpm " {" \-V|\-\-verify "} [" select-options "] [" verify-options ]

.BI "rpm \-\-import " "PUBKEY ..."

.BR rpm " {" \-K|\-\-checksig "} [" \-\-nogpg "] [" \-\-nopgp "] [" \-\-nomd5 "]"
.br
.I "    PACKAGE_FILE" ...
.SS パッケージのインストール・アップグレード・削除:
.BR rpm " {" \-i|\-\-install "} [" install-options ]
.I PACKAGE_FILE ...

.BR rpm " {" \-U|\-\-upgrade "} [" install-options ]
.I PACKAGE_FILE ...

.BR rpm " {" \-F|\-\-freshen "} [" install-options ]
.I PACKAGE_FILE ...

.BR rpm " {" \-e|\-\-erase "} [" \-\-allmatches "] [" \-\-nodeps "] [" \-\-noscripts ]
.br
.RB "    [" \-\-notriggers "] [" \-\-test ]
.I PACKAGE_NAME ...
.SS その他:
.BR rpm " {" \-\-initdb|\-\-rebuilddb }

.BR rpm " {" \-\-addsign|\-\-resign }
.I PACKAGE_FILE ...

.BR rpm " {" \-\-querytags|\-\-showrc }

.BR rpm " {" \-\-setperms|\-\-setugids }
.I PACKAGE_NAME ...
.SS select-options(選択オプション)
.RI [ PACKAGE_NAME ]
.RB [ \-a , \-\-all ]
.RB [ \-f , \-\-file    " " "\fIFILE" ]
.br
.RB [ \-g , \-\-group   " " "\fIGROUP" ]
.RB [ \-p , \-\-package " " "\fIPACKAGE_FILE" ]
.br
.RB [ \-\-hdrid         " " "\fISHA1" ]
.RB [ \-\-pkgid         " " "\fIMD5" ]
.RB [ \-\-tid           " " "\fITID" ]
.br
.RB [ \-\-querybynumber " " "\fIHDRNUM" ]
.RB [ \-\-triggerdby    " " "\fIPACKAGE_NAME" ]
.br
.RB [ \-\-whatprovies   " " "\fICAPABILITY" ]
.RB [ \-\-whatrequires  " " "\fICAPABILITY" ]
.SS query-options(検索オプション)
.RB [ \-\-changelog ]
.RB [ \-c , \-\-configfiles ]
.RB [ \-d , \-\-docfiles ]
.RB [ \-\-dump ]
.br
.RB [ \-\-filesbypkg ]
.RB [ \-i , \-\-info ]
.RB [ \-\-last ]
.RB [ \-l , \-\-list ]
.br
.RB [ \-\-provides ]
.RB [ \-\-qf , \-\-queryformat " " "\fIQUERYFMT" ]
.RB [ \-R , \-\-requires ]
.br
.RB [ \-\-scripts ]
.RB [ \-s , \-\-state ]
.RB [ \-\-triggers , \-\-triggerscripts ]
.SS verify-options(検査オプション)
.RB [ \-\-nodeps ]
.RB [ \-\-nofiles ]
.RB [ \-\-noscripts ]
.RB [ \-\-nodigest ]
.br
.RB [ \-\-nosignature ]
.RB [ \-\-nolinkto ]
.RB [ \-\-nomd5 ]
.RB [ \-\-nosize ]
.br
.RB [ \-\-nouser ]
.RB [ \-\-nogroup ]
.RB [ \-\-nomtime ]
.RB [ \-\-nomode ]
.RB [ \-\-nordev ]
.SS install-options(インストールオプション)
.RB [ \-\-aid ] 
.RB [ \-\-allfiles ] 
.RB [ \-\-badreloc ] 
.RB [ \-\-excludepath " " "\fIOLDPATH" ]
.br
.RB [ \-\-excludedocs ] 
.RB [ \-\-force ] 
.RB [ \-h , \-\-hash ]
.RB [ \-\-ignoresize ] 
.br
.RB [ \-\-ignorearch ] 
.RB [ \-\-ignoreos ]
.RB [ \-\-includedocs ] 
.RB [ \-\-justdb ] 
.br
.RB [ \-\-nodeps ]
.RB [ \-\-nodigest ] 
.RB [ \-\-nosignature ] 
.RB [ \-\-nosuggest ]
.br
.RB [ \-\-noorder ] 
.RB [ \-\-noscripts ] 
.RB [ \-\-notriggers ]
.br
.RB [ \-\-oldpackage ] 
.RB [ \-\-percent ] 
.RB [ \-\-prefix " " "\fINEWPATH" ]
.br
.RB [ \-\-relocate " " "\fIOLDPATH" = "\fINEWPATH" ]
.br
.RB [ \-\-replacefiles ] 
.RB [ \-\-replacepkgs ]
.RB [ \-\-test ]
.SH 説明
.B rpm
は強力な
.B パッケージマネージャ
であり、個々のソフトウェアパッケージを
ビルド・インストール・検索・検査・更新・削除するのに使うことができる。
.B パッケージ
はファイルのアーカイブと、アーカイブされたファイルの
インストール・アンインストールに使われるメタデータからなる。
メタデータは補助スクリプト、ファイル属性、
そしてパッケージの説明に関する情報からなる。
.B パッケージ
には 2 種類ある。
インストールするためのソフトウェアをカプセル化するのに使われるバイナリ
パッケージと、バイナリパッケージを生成するのに必要なレシピとソースコード
からなるソースパッケージである。
.PP
以下の基本モードのいずれかが選択されなければならない:
\fB検索\fR、
\fB検査\fR、
\fB署名の検査\fR、
\fBインストール/アップグレード/更新\fR、
\fBアンインストール\fR、
\fBデータベースの初期化\fR、
\fBデータベースの再作成\fR、
\fB再署名\fR、
\fB署名の追加\fR、
\fB所有者/グループの設定\fR、
\fB検索タグの表示\fR、
\fB設定の表示\fR。
.SS 共通のオプション
次のオプションはすべてのモードで使用することができる。
.TP
.BR \-? ", " \-\-help
使い方を通常のものよりも長く表示する。
.TP
.B \-\-version
使用される
.B rpm
のバージョン番号からなる 1 行を表示する。
.TP
.B \-\-quiet
できるだけ少なく表示する。
通常は、エラーメッセージだけが表示される。
.TP
.B \-v
より多くの情報を表示する。
通常は、ルーチンの進捗メッセージが表示される。
.TP
.B \-vv
沢山の汚いデバッグ情報を表示する。
.TP
.BI "\-\-rcfile " FILELIST
コロン(`:')で区切られた
.I FILELIST
の各ファイルは、設定情報として
.B rpm
によって順番に読み込まれる。
.I FILELIST
のデフォルトは
.IR /usr/lib/rpm/rpmrc : /usr/lib/rpm/redhat/rpmrc : ~/.rpmrc
である。
.TP
.BI "\-\-pipe " CMD
.B rpm
コマンドの出力を
.I CMD
へパイプする。
.TP
.BI "\-\-dbpath " DIRECTORY
データベースのパスに、デフォルトの
.I /var/lib/rpm
ではなく
.I DIRECTORY
を使う。
.TP
.BI "\-\-root " DIRECTORY
すべてのオプションに対し、
.I DIRECTORY
をルートとしたファイルシステムを使う。
これは、
依存性のチェックとすべてのスクリプト(群)
(例えば、パッケージインストール時の
.B %post
や、パッケージビルド時の
.B %prep
など)が
.I DIRECTORY
に chroot(2) した後で、
.I DIRECTORY
内にあるデータベースが使用されることを意味する。
.SS インストールとアップグレードのオプション
rpm をインストールするコマンドの一般的な形式は:
.PP
.BR rpm " {" \-i|\-\-install "} [" install-options ]
.I PACKAGE_FILE ...
.PP
これは新しいパッケージをインストールする。
.br
アップグレードするコマンドの一般的な形式は:
.PP
.BR rpm " {" \-U|\-\-upgrade "} [" install-options ]
.I PACKAGE_FILE ...
.PP
これは現在インストールされているパッケージを新しいバージョンに
アップグレードするか、パッケージをインストールする。
新しいパッケージがインストールされたら他のすべてのバージョンのものが
削除されることを除けば、インストールと同じである。
.PP
.BR rpm " {" \-F|\-\-freshen "} [" install-options ]
.I PACKAGE_FILE ...
.PP
これは以前のバージョンが、現在インストールされている場合にのみ
パッケージを更新する。
.PP
.I PACKAGE_FILE
には
.B ftp
または
.B http
の URL を指定することが可能で、その場合にはパッケージをインストールする前に
ダウンロードする。
.B rpm
内部での
.B ftp
と
.B http
のサポートについての情報は
.B FTP/HTTP オプション
の節を参照のこと。
.TP
.B \-\-aid
指定されたパッケージを、必要があればトランザンクションに加える。
.TP
\fB\-\-allfiles
パッケージ内の missingok ファイルを、存在する/しないにかかわらず
インストールまたはアップグレードする。
.TP
.B \-\-badreloc
.B \-\-relocate
と一緒に使われると、パッケージ再配置のヒント(群)の中にその
.I OLDPATH
が含まれていなくても、すべてのファイルパスの再配置を許可する。
.TP
.BI "\-\-excludepath " OLDPATH
パスの名前が
.I OLDPATH
で始まるファイルをインストールしない。
.TP
.B \-\-excludedocs
(man ページ、tenxinfo 文書を含めた)文書であるとマーク付されたファイルを
インストールしない。
.TP
.B \-\-force
.BR \-\-replacepkgs ", " \-\-replacefiles ", " \-\-oldpackage
の組み合わせに同じ。
.TP
.BR \-h ", " \-\-hash
パッケージアーカイブから取り出されるにつれ、50個のハッシュマーク("#")
を表示する。
.B \-v|\-\-verbose
と一緒に使えば、よりよい表示が得られる。
.TP
.B \-\-ignoresize
パッケージをインストールする前に、ディスクに十分な空きがあるかの
チェックをファイルシステムに対して行わない。
.TP
.B \-\-ignorearch
バイナリパッケージのアーキテクチャと、そのホストのアーキテクチャが
一致しなくても、インストールやアップグレードを行う。
.TP
.B \-\-ignoreos
バイナリパッケージのOSと、そのホストのOSが一致しなくても、
インストールやアップグレードを行う。
.TP
.B \-\-includedocs
文書ファイルをインストールする。これはデフォルトの動作である。
.TP
.B \-\-justdb
データベースだけを更新し、ファイルシステムを更新しない。
.TP
.B \-\-nodigest
読み込み時にパッケージまたはへッダのダイジェストを検査しない。
.TP
.B \-\-nosignature
読み込み時にパッケージまたはへッダの署名を検査しない。
.TP
.B \-\-nodeps
パッケージのインストールやアップグレードの前に、依存性のチェックをしない。
.TP
.B \-\-nosuggest
不明な依存性を解消するパッケージ(群)を提案しない。
.TP
.B \-\-noorder
パッケージのインストール順を変更しない。
通常は依存性を満たすために、パッケージのリストは並び替えられる。
.TP
.B \-\-noscriopts
.PD 0
.TP
.B \-\-nopre
.TP
.B \-\-nopost
.TP
.B \-\-nopreun
.TP
.B \-\-nopostun
.PD
それぞれ同じ名前を持ったスクリプトを実行しない。
.B \-\-noscripts
オプションは

.B "\-\-nopre \-\-nopost \-\-nopreun \-\-nopostun"

に等しく、対応する
.BR %pre ", "
.BR %post ", "
.BR %preun ", "
.BR %postun
スクリプト(群)を実行しない。
.TP
.B \-\-notriggers
.PD 0
.TP
.B \-\-notriggerin
.TP
.B \-\-notriggerun
.TP
.B \-\-notriggerpostun
.PD
指定された種類のトリガースクリプトを実行しない。
.B \-\-notriggers
オプションは

.B "\-\-notriggerin \-\-notriggerun \-\-notriggerpostun"

に等しく、対応する
.BR %triggerin ,
.BR %triggerun ,
.BR %triggerpostun
スクリプト(群)を実行しない。
.TP
.B \-\-oldpackage
新しいパッケージをそれより古いパッケージでアップグレードできるようにする。
.TP
.B \-\-percent
パッケージアーカイブからファイルが取り出されるにつれて、
その割合をを表示する。
これは
.B rpm
が他のツールから実行されるのを容易にすることを意図している。
.TP
.BI "\-\-prefix " NEWPATH
再配置可能なバイナリパッケージにおいて、パッケージの再配置ヒント(群)にある
インストールプレフィックスで始まるファイルのパスを、
.I NEWPATH
に置き換える。
.TP
.BI "\-\-reloacte " OLDPATH = NEWPATH
再配置可能なバイナリパッケージにおいて、パッケージの再配置ヒント(群)にある
.I OLDPATH
で始まるファイルのパスと
.I NEWPATH
で置き換える。
パッケージ内で、複数の
.I OLDPATH
が再配置されなければならないのなら、
このオプションを繰り返し指定することができる。
.TP
.B \-\-replacefiles
既にインストールされた他のパッケージのファイルを置き換えてしまう場合でも、
パッケージをインストールする。
.TP
.B \-\-replacepkgs
指定されたパッケージのうちのいくつかがシステムに既にインストール
されていても、パッケージをインストールする。
.TP
.B \-\-test
パッケージをインストールせず、単にチェックと、
潜在的な衝突の報告を行う。
.SS 削除のオプション
rpm を削除するコマンドの一般的な形式は:
.PP
.BR rpm " {" \-e|\-\-erase "} [" \-\-allmatches "] [" \-\-nodeps "] [" \-\-noscripts ]
.br
.RB "    [" \-\-notriggers "] [" \-\-test ]
.I "PACKAGE_NAME ..."
.PP
以下のオプションが使用できる:
.TP
.B \-\-allmatces
.I PACKAGE_NAME
に一致するすべてのバージョンのパッケージを削除する。
.TP
.B \-\-nodeps
パッケージをアンインストールする前に依存性のチェックをしない。
.TP
.B \-\-noscripts
.PD 0
.TP
.B \-\-nopreun
.TP
.B \-\-nopostun
.PD
それぞれ同じ名前を持ったスクリプトを実行しない。
.B \-\-noscripts
オプションは

.B "\-\-nopreun \-\-nopostun"

に等しく、対応する
.B %preun
と
.B %postun
スクリプト(群)を実行しない。
.TP
.B \-\-notriggers
.PD 0
.TP
.B \-\-notriggerun
.TP
.B \-\-notriggerpostun
.PD
指定された種類のトリガースクリプトを実行しない。
オプション
.B \-\-notriggers
は

.B "\-\-notriggerun \-\-notriggerpostun"

に等しく、対応する
.B %triggerun
と
.B %triggerpostun
スクリプト(群)を実行しない。
.TP
.B \-\-test
実際には何もアンインストールせず挙動だけを見せる。
オプション
.B \-vv
と共に使えばデバッグに有効である。
.\"TSEKINE ここの訳がつらいです
.SS 検索オプション
rpm 検索の一般的な形式は:
.PP
.BR rpm " {" \-q|\-\-query "} [" select-options "] [" query-options ]
.PP
表示されるパッケージ情報の書式を指定することができる。
そうするためには、
.RS 0.2i
.PP
.BI "\-\-qf|\-\-queryformat " QUERYFMT
.RE
.PP
オプションを使う。
.I QUERYFMT
が書式文字列である。検索の書式は、標準的な
.B printf(3)
の書式の修正である。書式は静的な文字列
(改行・タブ・その他の特殊文字の、C 言語の標準的な文字エスケープを含む)と、
.B printf(3)
型の書式文字列からなる。
しかし
.B rpm
は表示する型を既に知っているので、型指定は省略されるべきである。
代わりに
.B {}
で囲まれた、表示されるへッダーのタグ名が使用される。
タグ名に大文字/小文字の区別はなく、タグ名の先頭の
.B RPMTAG_
部分も省略することができる。
.PP
以下の
.BI : typetag
を付加したタグによって、代替の出力書式を要求できる。
現在、以下の種別がサポートされている:
.TP
.B :armor
公開鍵をASCII文字で表示する。
.\"TSEKINE PGP 等での armor ってどう訳すのがいいんでしょう?
.TP
.B :base64
バイナリデータを base64 で符号化する。
.TP
.B :date
strftime(3)の "%c" 書式を使う。
.TP
.B :day
strftime(3)の "%a %b %d %Y" 書式を使う。
.TP
.B :depflags
依存フラグで表示。
.TP
.B :fflags
ファイルフラグで表示。
.TP
.B :hex
16進数で表示。
.TP
.B :octal
8進数で表示。
.TP
.B :perms
ファイルの許可属性で表示。
.TP
.B :shescape
スクリプト内で使えるようにシングルクォート(')でエスケープする。
.TP
.B :triggertype
トリガーの種類を表示。
.PP
例えば、検索結果のパッケージ名だけを表示したければ、書式文字列として
.B %{NAME}
を使えばよい。
2 カラムでパッケージ名とディストリビューション情報を表示したければ
.B %-30{NAME}%{DISTRIBUTUIN}
を使えばよい。
(訳注: 端末によっては末尾に \\n が必要である)。
引数
.B \-\-querytags
をつけて
.B rpm
を実行すれば、使用できるタグすべてを表示することができる。
.PP
検索のためのオプションは2種類に分けられる。
パッケージの選択と、(訳注: 表示するための)情報の選択である。
.SSS "パッケージ選択オプション:"
.TP
.I PACKAGE_NAME
インストールされている
.I PACKAGE_NAME
という名前のパッケージを検索する。
.TP
.BR \-a ", " \-\-all
インストールされているすべてのパッケージを検索する。
.TP
.BR \-f ", " \-\-file " \fIFILE"
.I FILE
を所有するパッケージを検索する。
.TP
.BR \-g ", " \-\-group " \fIGROUP"
グループが
.I GROUP
であるパッケージを検索する。
.TP
.BI \-\-hdrid  " SHA1"
与えられたへッダー識別子、
すなわち書き換え不可能なへッダ領域に
.I SHA1
ダイジェストををもつパッケージを検索する。
.TP
.BR \-p ", " \-\-package " \fIPACKAGE_FILE"
(インストールされていない)パッケージ
.I PACKAGE_FILE
を検索する。
.I PACKAGE_FILE
には
.B ftp
または
.B http
の URL 形式で指定することができ、
その場合にはパッケージへッダーがダウンロードされて検索される。
.B ftp
と
.B http
のクライアントに関する
.B rpm
内部でのサポートについては
.B "FTP/HTTP OPTIONS"
を参照のこと。
.I PACKAGE_FILE
引数(群)がバイナリパッケージでなければ、それが ASCII 形式の
パッケージのリストを表わすものと解釈される。
パッケージのリストファイルでは、'#' で始まる行はコメントである。
各行には空白で区切ったパス名展開式が指定可能で、
展開されたパスは、検索する
.I PACKAGE_FILE
引数への追加として置換される。
パス名展開式には URL のリモートのパス名展開も使うことができる。
.\"TSEKINE よくわかりません。フォロー求む
.TP
.BI \-\-pkgid " \fIMD5"
与えられたパッケージ識別子、
すなわちへッダーと内容物との組み合わせが
.I MD5
ダイジェストををもつパッケージを検索する。
.TP
.BI \-\-querybynumber " \fIHDRNUM"
データベースの
.I HDRNUM
番目のエントリを直接検索する。
デバッグにのみ有効である。
.TP
.BI \-\-specfile " \fISPECFILE"
.I SPECFILE
をそれがパッケージであるかのように解析し、検索する。
すべての情報が利用できるわけではない(たとえばファイル一覧)にもかかわらず、
spec ファイルの解析器を書くこと無しに spec ファイルから情報を取り出すことが
この種の検索で可能である。
.TP
.BI \-\-tid " \fITID"
与えられたトランザクション識別子
.I TID
を持つパッケージ(群)を検索する。
現在のところ、unix 時間がトランザクション識別子として使われている。
一つのトランザクションでインストール・削除されたパッケージ(群)は、
すべて共通の識別子を持つ。
.TP
.BI \-\-triggerdby " \fIPACKAGE_NAME"
パッケージ(群)
.I PACKAGE_NAME
によってトリガーされるパッケージを検索する。
.TP
.BI \-\-whatprovides " \fICAPABILITY"
.I CAPABILITY
能力を提供するパッケージを検索する。
.TP
.BI \-\-whatrequires " \fICAPABILITY"
適切に機能するために
.I CAPABILITY
を必要とするパッケージを検索する。
.SSS "パッケージ検索オプション:"
.TP
.B \-\-changelog
パッケージの更新情報を表示する。
.TP
.BR \-c ", " \-\-configfiles
設定ファイルのみを表示する
.RB ( \-l
を指定したものとみなす)。
.TP
.BR \-d ", " \-\-docfiles
文書ファイルのみを表示する
.RB ( \-l
を指定したものとみなす)。
.TP
.B \-\-dump
以下の形式でファイル情報をダンプする
.RB ( \-l
を指定したものとみなす)。
.sp
.nf
パス サイズ 修正時刻 md5ダイジェスト モード \\
所有者 グループ 設定ファイル 文書ファイル \\
ルートデバイス シンボリックリンク
.fi
.TP
.B \-\-filesbypkg
選択されたパッケージごとにファイルを表示する。
.TP
.BR \-i ", " \-\-info
名前、バージョン、説明を含めたパッケージ情報を表示する。
これは
.B \-\-queryformat
を内部で使用している。
.\"TSEKINE 言いたいことがよく分かりません。実際は popt で aliasing
.\"TSEKINE されてるので、そのことが言いたいのでしょうか?
.TP
.B \-\-last
パッケージをインストール時刻順に、
最新のパッケージが先頭になるような順で並べる。
.TP
.BR \-l ", " \-\-list
パッケージ内にあるファイルを表示する。
.TP
.B \-\-provides
そのパッケージが提供する能力を表示する。
.TP
.BR \-R ", " \-\-requires
そのパッケージが依存するパッケージを表示する。
.TP
.B \-\-scripts
インストール・アンインストールの過程で使用される、
パッケージ固有のスクリプトを表示する。
.TP
.B \-s ", " \-\-state
パッケージ内のファイルの
.I 状態
を表示する
.RB ( \-l
を指定したものとみなす)。
各ファイルの状態は
.IR "normal(正常)" ,
.IR "not installed(インストールされていない)" ,
.I "replaced(置き換えられた)"
のいずれかである。
.TP
.BR \-\-triggers ", " \-\-triggerscripts
パッケージにトリガースクリプトが含まれれば表示する。
.SS 検査オプション
rpm を検査するコマンドの一般的な形式は:
.PP
.BR rpm " {" \-V|\-\-verify "} [" select-options "] [" verify-options ]
.PP
パッケージの検査では、
パッケージ内のインストールされたファイルに関する情報と、
rpm データベースに格納されているパッケージのメタデータから得られた
ファイルに関する情報とを比較する。
とりわけ、ファイルのサイズ、MD5 チェックサム、許可属性、タイプ、
所有者、グループを比較する。
インストール時に
.B \-\-excludedocs
オプションを使ったために除外された文書ファイルのように、
パッケージからインストールされていないファイルは静かに無視される。
.PP
パッケージ選択オプションは、パッケージ検索のためのものと
(パッケージのリストファイルを引数に指定できることも含め)
一緒である。
その他の、検査モード固有のオプションは:
.TP
.B \-\-nodeps
パッケージの依存性について検査しない。
.TP
.B \-\-nodigest
読み込み時にパッケージやへッダーのダイジェスト値を検査しない。
.TP
.B \-\-nofiles
パッケージ内のファイルのいかなる属性も検査しない。
.TP
.B \-\-noscripts
.B %verifyscript
がもし存在しても実行しない。
.TP
.B \-\-nosignature
読み込み時にパッケージやへッダーの署名を検査しない。
.TP
.B \-\-nolinkto
.PD 0
.TP
.B \-\-nomd5
.TP
.B \-\-nosize
.TP
.B \-\-nouser
.TP
.B \-\-nogroup
.TP
.B \-\-nomtime
.TP
.B \-\-nomode
.TP
.B \-\-nordev
.PD
それぞれ関連するファイル属性を検査しない。
.PP
出力の形式は 9 個の文字と属性マーク、その後ろにファイル名である。
パッケージのへッダーから得られる属性マークは:

.PD 0
.TP .2i
.B c
.B %config
設定ファイル。
.TP
.B d
.B %doc
文書ファイル。
.TP
.B g
.B %ghost
ファイル(すなわち、パッケージの内容物としては含まれていないファイル)。
.TP
.B l
.B %license
ライセンスファイル。
.TP
.B r
.B %readme
readme ファイル。
.PD
.PP
各 9 個の文字は、ファイルの属性とデータベースに記録されているその属性の
値との比較の結果を意味している。
一つの
.B "."
(ピリオド) はテストを通過したこと意味し、一つの
.B "?"
(クエスチョンマーク) はテストが実施されなかった
(すなわち、ファイルパーミッションにより読み込めなかった)
ことを意味する。でなかれば、
(記憶を助けるために、ボールド化
.RB (em "B" oldened)
されている)文字は関連する
.B \-\-verify
テストに失敗したことを意味する:
.PP
.PD 0
.TP 0.2i
.B S
ファイルのサイズ
.RB ( S ize)
が異なる
.TP
.B M
モード
.RB ( M ode;
許可属性とファイルの種類)
が異なる
.TP
.B 5
.RB MD 5
チェックサムが異なる
.TP
.B D
デバイス
.RB ( D evice)
のメジャー/マイナー番号が一致しない
.TP
.B L
.RB read L ink(2)
したパスが一致しない
.TP
.B U
所有者
.RB ( U ser)
が異なる
.TP
.B G
グループ
.RB ( G roup)
が異なる
.TP
.B T
修正時刻
.RB (m T ime)
が異なる
.PD
.SS 電子署名とダイジェストの検査
rpm の電子書名の一般的な形式は:
.PP
.BI "rpm \-\-import " "PUBKEY ..."

.BR rpm " {" \-K|\-\-checksig "} [" \-\-nogpg "] [" \-\-nopgp "] [" \-\-nomd5 "]"
.br
.I "    PACKAGE_FILE ..."
.PP
.B \-\-checksig
オプションは、
パッケージの完全性と出所を確認するために
.I PACKAGE_FILE
に含まれるすべてのダイジェスト値と署名をチェックする。
現在ではパッケージが読み込まれたときはいつでも署名が検査される。
.B \-\-checksig
の方はパッケージに付随するすべてのダイジェスト値と署名を
検査するのに有効である。
.PP
公開鍵がなければ電子署名の検査はできない。
.B \-\-import
を使えば
.B rpm
データベースに ASCII 形式での公開鍵を追加できる。
取り込まれた公開鍵はあるへッダーへと運ばれ、
パッケージ管理のように厳密な鍵リング管理が実行される。
例として、その時点で取り込まれているすべての公開鍵は以下を実行することで
表示できる。
.PP
.nf
.B "rpm \-qa gpg-pubkey*"
.fi
(訳注: 多くの場合 "*" はシェルによってメタ文字として解釈されるので、
実際には rpm \-qa "gpg-pubkey*" のようにクォーティングする必要がある)
.PP
取り込んだ、特定の公開鍵に関する詳細は検索によって表示することができる。
Red Hat の GPG/DSA 鍵に関する情報は:
.PP
.B "rpm \-qi gpg-pubkey-db42a60e"
.PP
最後に、パッケージでそうできるように、取り込んだ公開鍵を削除することができる。
以下は Red Hat の GPG/DSA 鍵を削除する。
.PP
.B "rpm \-e gpg-pubkey-db42a60e"
.SS パッケージへの署名
.BR rpm " {" \-\-addsign|\-\-resign }
.I PACKAGE_FILE ...
.PP
オプション
.B \-\-addsign
と
.B \-\-resign
の両方とも、与えられた各パッケージ
.I PACKAGE_FILE
に対する新たな署名を生成・挿入し、既に存在する署名があれば置き換える。
歴史的な理由により二つのオプションが存在するが、
現在ではその動作に違いはない。
.SS "パッケージへの署名に GPG を使用する"
GPG を使ってパッケージに署名するためには、
.B rpm
が GPG を実行するように設定されていなければならず、また、
適切な鍵で鍵リングを探すことができなければならない。
.B rpm
はデフォルトで、
GPG が鍵の環を探すのと同じ規則、すなわち環境変数
.B $GPGPATH
を使用する。
GPG が期待する場所に鍵リングが無い場合には、
使用する GPG 鍵リングの場所を
.B %_gpg_path
マクロに設定する必要がある。
.PP
過去のバージョンの GPG, PGP, rpm との互換性のために、
V3 OpenPGP 署名パケットのみが設定されなければならない。
.\"TSEKINE 何に対して configured されなければならないのでしょう?
DSA と RSA の検査アルゴリズムのどちらも使うことができるが、
DSA の方が好ましい。
.PP
作成したパッケージに自分自身で署名できるようにしたければ、
公開鍵と秘密鍵のペアを作成しておくことも必要である
(GPG のマニュアルを見ること)。
また、以下の
.B rpm
マクロを設定することも必要であろう。
.TP
\fB%_gpg_name\fR
パッケージに署名するのに使用したい鍵のユーザ名。
.PP
例えば、実行ファイルが
.I /usr/bin/gpg
で、鍵リングが
.I /etc/rpm/.gpg
にあり、その中のユーザ
.I """John Doe <jdoe@foo.com>"""
としてパッケージに GPG を使って署名する場合には
.PP
.nf
%_gpg_path /etc/rpm/.gpg
%_gpg_name John Doe <jdoe@foo.com>
%_gpgbin /usr/bin/gpg
.fi
.PP
をマクロの設定ファイルに含めれば良い。
システム全体の設定には
.I /etc/rpm/macros
を、ユーザごとの設定には
.I ~/.rpmmacros
を使用する。
.SS データベース再作成オプション
データベースを再作成するコマンドの一般的な形式は:
.PP
.BR rpm " {" \-\-initdb|\-\-rebuilddb "} [" \-v "] [" "\-\-dbpath \fIDIRECTORY" ]
.br
.RB "    [" "\-\-root \fIDIRECTORY" ]
.PP
新たなデータベースを作成する場合には
.B \-\-initdb
を使い、インストールされているパッケージのへッダーから
データベースのインデックスを再作成するには
.B \-\-rebuilddb
を使用する。
.SS "SHOWRC"
コマンド
.PP
.B "rpm \-\-showrc"
.PP
は、
.B rpm
が使用するすべてのオプションの値を表示する。
値はファイル
.I rpmrc
と
.I macros
で設定される。
.SS "FTP/HTTP オプション"
インターネットからパッケージを検索したりインストールできるようにするために、
.B rpm
は FTP と HTTP のクライアントとして動作することができる。
インストール、アップグレード、検索するパッケージファイルは
以下の ftp または http スタイルの URL で指定することができる。
.PP
ftp://USER:PASSWORD@HOST:PORT/path/to/package.rpm
.PP
もし
.B :PASSWORD
の部分が省略された場合には、パスワードが
(ユーザ/ホスト名の組合わせごとに)尋ねられる。
ユーザとパスワードの両方が省略された場合には、
anonymous(匿名)
.B ftp
が使用される。すべての場合において
パッシブ (PASV)
.B ftp
転送が利用される。
.PP
ftp URL において、
.B rpm
では次のオプションが可能である。
.TP
.BI \-\-ftpproxy " HOST"
プロキシを用いたファイアウォールを通してユーザが ftp できるように、
すべての ftp 転送にホスト
.I HOST
はプロキシサーバーとして使用される。
マクロ
.B %_ftpproxy
の設定でも、このオプションを指定することができる。
.TP
.BI \-\-ftpport " PORT"
.\"TSEKINE 多分、原文の方が間違ってる
デフォルトのポートの代わりに、プロキシ ftp サーバの ftp 接続に使用する
TCP
.I PORT
(ポート)番号。
マクロ
.B %_ftpport
の設定でも、このオプションを指定することができる。
.PP
.B http
URL において、
.B rpm
では次のオプションが可能である。
.TP
.BI \-\-httpproxy " HOST"
すべての http 転送にホスト
.I HOST
はプロキシサーバーとして使用される。
マクロ
.B %_httpproxy
の設定でも、このオプションを指定することができる。
.TP
.BI \-\-httpport " PORT"
デフォルトのポートの代わりに、http プロキシサーバの接続で使用する
TCP
.B PORT
(ポート)番号。
.SH 過去の遺産
.SS "rpmbuild の実行"
rpm のビルドモードは、現在では
.I /usr/bin/rpmbuild
に含まれる。
過去との互換性は以下の popt によるエイリアスによって提供され、
それはまずまずではあるが完全ではない。
よって popt のエイリアスを使ったビルドモードの互換性は、
rpm から取り除かれつつある。
以前の
.BR rpm (8)
に記述されていた
.B rpm
ビルドモードについてのすべての文書は、
.B rpmbuld
パッケージをインストールし
.BR rpmbuild (8)
を参照すること。
.PP
これからも
.B rpm
のコマンドラインから
.B rpmbuild
を呼び出したければ、以下の行を
.I /etc/popt
に加えればよい。
.PP
.nf
rpm     exec \-\-bp               rpmb \-bp
rpm     exec \-\-bc               rpmb \-bc
rpm     exec \-\-bi               rpmb \-bi
rpm     exec \-\-bl               rpmb \-bl
rpm     exec \-\-ba               rpmb \-ba
rpm     exec \-\-bb               rpmb \-bb
rpm     exec \-\-bs               rpmb \-bs 
rpm     exec \-\-tp               rpmb \-tp 
rpm     exec \-\-tc               rpmb \-tc 
rpm     exec \-\-ti               rpmb \-ti 
rpm     exec \-\-tl               rpmb \-tl 
rpm     exec \-\-ta               rpmb \-ta
rpm     exec \-\-tb               rpmb \-tb
rpm     exec \-\-ts               rpmb \-ts 
rpm     exec \-\-rebuild          rpmb \-\-rebuild
rpm     exec \-\-recompile        rpmb \-\-recompile
rpm     exec \-\-clean            rpmb \-\-clean
rpm     exec \-\-rmsource         rpmb \-\-rmsource
rpm     exec \-\-rmspec           rpmb \-\-rmspec
rpm     exec \-\-target           rpmb \-\-target
rpm     exec \-\-short\-circuit    rpmb \-\-short\-circuit
.fi
.SH ファイル
.SS "rpmrc 設定"
.PP
.nf
\fI/usr/lib/rpm/rpmrc\fR
\fI/usr/lib/rpm/redhat/rpmrc\fR
\fI/etc/rpmrc\fR
\fI~/.rpmrc\fR
.fi
.SS マクロ設定
.nf
\fI/usr/lib/rpm/macros\fR
\fI/usr/lib/rpm/redhat/macros\fR
\fI/etc/rpm/macros\fR
\fI~/.rpmmacros\fR
.fi
.SS データベース
.nf
\fI/var/lib/rpm/Basenames\fR
\fI/var/lib/rpm/Conflictname\fR
\fI/var/lib/rpm/Dirnames\fR
\fI/var/lib/rpm/Filemd5s\fR
\fI/var/lib/rpm/Group\fR
\fI/var/lib/rpm/Installtid\fR
\fI/var/lib/rpm/Name\fR
\fI/var/lib/rpm/Packages\fR
\fI/var/lib/rpm/Providename\fR
\fI/var/lib/rpm/Provideversion\fR
\fI/var/lib/rpm/Pubkeys\fR
\fI/var/lib/rpm/Removed\fR
\fI/var/lib/rpm/Requirename\fR
\fI/var/lib/rpm/Requireversion\fR
\fI/var/lib/rpm/Sha1header\fR
\fI/var/lib/rpm/Sigmd5\fR
\fI/var/lib/rpm/Triggername\fR
.fi
.SS 一時ファイル
\fI/var/tmp/rpm*\fR
.SH 関連項目
.BR popt (3),
.BR rpm2cpio (8),
.BR rpmbuild (8),
.nf
.UR http://www.rpm.org/
.B http://www.rpm.org/
.UE
.fi
.SH 著者
.nf
Marc Ewing <marc@redhat.com>
Jeff Johnson <jbj@redhat.com>
Erik Troan <ewt@redhat.com>
.fi
